<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1. 函数参数的解构
        // const pos = { x: 10, y: 20 }
        // function move(pos) {
        //     console.log(pos)
        //     const { x, y } = pos
        // }
        // move(pos)

        // 2. 可以在形参的位置，直接解构
        // 如果放在形参上解构，相当于是let声明的变量， 可以修改
        // const pos = { x: 10, y: 20 }
        // function move({ x, y }) {
        //     // console.log(pos)
        //     // const {x, y} = pos
        //     x = 666
        //     console.log(x, y)
        // }
        // move(pos)

        // 3. 可以在形参的位置，直接解构，并且，可以重命名
        // 如果放在形参上解构，相当于是let声明的变量， 可以修改
        // const pos = { x: 10, y: 20 }
        // function move({ x: aa, y }) {
        //     // console.log(pos)
        //     // const {x, y} = pos
        //     console.log(aa, y)
        // }
        // move(pos)

        // 4. 如果函数的参数是数组的情况
        function add([x, y]) {
            return x + y
        }
        const res = add([1, 2])
        console.log(res)
    </script>
</body>

</html>